package com.study.hisapi.service;

import com.study.hisapi.domain.bo.core.RequestBo;
import com.study.hisapi.utils.ContextUtils;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public abstract class AbstractHisService {
    /**
     * 业务逻辑处理
     *
     * @param request 业务请求参数
     * @return 业务响应参数
     */
    public abstract Object handle(RequestBo request);

    /**
     * 交易接口统一入口
     *
     * @param request 初始请求参数
     * @return 签名响应参数
     */
    public Object request(RequestBo request) {
        try {
            return handle(request);
        } finally {
            ContextUtils.clearCurrentContext();
        }
    }
}
